package com.yaowk.system.model;

import com.yaowk.system.model.base.BaseColumn;

import java.util.List;

/**
 * @authc yaowk
 * 2017/4/19
 */
public class Column extends BaseColumn<Column> {


    public static final Column dao = new Column();

    /**
     * 根据模块id伪删除栏目数据
     *
     * @param id
     */
    public void deleteByModuleId(Integer id) {
        List<Column> columnList = findByModuleId(id);
        for (Column column : columnList) {
            if ("config".equals(column.getAddFrom()))
                column.set("status", 0).update();
        }
    }

    /**
     * 通过模块id和栏目唯一标识查询栏目
     *
     * @param moduleId
     * @param sign
     * @return
     */
    public Column findByModuleIdAndSign(Integer moduleId, String sign) {
        return findFirst(getSql("column.selectByModuleIdAndSign"), moduleId, sign);
    }

    /**
     * 初始化结束后修改被删除栏目的配置
     *
     * @param moduleId
     */
    public void updateRemarkOnInit(Integer moduleId) {
        List<Column> columnList = find(getSql("column.selectOnUpdateRemark"), moduleId);
        for (Column column : columnList) {
            column.set("remark", "栏目在配置中不存在").update();
        }
    }

    /**
     * 通过模块Id查询栏目
     *
     * @param moduleId
     * @return
     */
    public List<Column> findByModuleId(Integer moduleId) {
        return find(getSql("column.selectByModuleId"), moduleId);
    }
}
